package com.itlong.cloud.datasource.dao;

import com.itlong.cloud.POJO.PO.SubscriberPO;
import com.itlong.cloud.abstracts.IAbstractBaseDao;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.Map;

/**
 * <desc>
 *   sip账号信息Dao
 * </desc>
 *
 * @createDate 2017/10/20
 */
@Repository
@Mapper
public interface ISubscriberDao extends IAbstractBaseDao<SubscriberPO> {

    /**
     * <desc>
     *      添加sip数据
     * <desc/>
     * @param   params  bean转换层map后的参数集
     * @return
     * @author Biao.R
     * @createDate 2017/9/21
     */
    Integer save(Map<String, Object> params);

    /**
     * <desc>
     *      根据userName查询sip信息
     * <desc/>
     * @param   username  bean转换层map后的参数集
     * @return  SubscriberPO 返回的单个对象
     * @author Biao.R
     * @createDate 2017/10/17
     */
    SubscriberPO getByUserName(String username);


    /**
     * <desc>
     *      更新sip
     * <desc/>
     * @param   params  bean转换层map后的参数集
     * @return
     * @author Biao.R
     * @createDate 2017/10/17
     */
    Integer update(Map<String, Object> params);

    /**
     * <desc>
     *      根据username删除sip信息
     * <desc/>
     * @param   username    sip账号的用户名
     * @return
     * @author Biao.R
     * @createDate 2017/10/24
     */
    void delSipByUserName(@Param("username") String username);

}